From: Florian Müllner Date: Wed, 19 Apr 2023 10:51:14 +0000 (+0200) Subject: mpris: Expose player app X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~337^2~2^2~83 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=35315a605b33f7e2d69350b3fa2235518c63f580;p=gnome-shell.git mpris: Expose player app This will allow accessing it from the notification. Part-of: --- diff --git a/js/ui/mpris.js b/js/ui/mpris.js index f44f87e92..93d1ec68b 100644 --- a/js/ui/mpris.js +++ b/js/ui/mpris.js @@ -120,6 +120,10 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter { return this._trackCoverUrl; } + get app() { + return this._app; + } + playPause() { this._playerProxy.PlayPauseAsync().catch(logError); } @@ -143,14 +147,8 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter { raise() { // The remote Raise() method may run into focus stealing prevention, // so prefer activating the app via .desktop file if possible - let app = null; - if (this._mprisProxy.DesktopEntry) { - let desktopId = `${this._mprisProxy.DesktopEntry}.desktop`; - app = Shell.AppSystem.get_default().lookup_app(desktopId); - } - - if (app) - app.activate(); + if (this._app) + this._app.activate(); else if (this._mprisProxy.CanRaise) this._mprisProxy.RaiseAsync().catch(logError); } @@ -222,6 +220,13 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter { this._trackCoverUrl = ''; } + if (this._mprisProxy.DesktopEntry) { + const desktopId = `${this._mprisProxy.DesktopEntry}.desktop`; + this._app = Shell.AppSystem.get_default().lookup_app(desktopId); + } else { + this._app = null; + } + this.emit('changed'); let visible = this._playerProxy.CanPlay;